From 9afae024c46d89dd2e7f6ab7ddaba436358d4706 Mon Sep 17 00:00:00 2001 From: tsteven4 Date: Sat, 10 May 2014 21:12:16 +0000 Subject: [PATCH] handle Speed and Watts in garmin training center reader when the TPX element declares a default namespace. --- gpsbabel/gtrnctr.cc | 5 + gpsbabel/reference/track/kona2013.tcx | 164 ++++++++++++++++++++++ gpsbabel/reference/track/kona2013~tcx.csv | 6 + gpsbabel/testo.d/gtrnctr.test | 5 + 4 files changed, 180 insertions(+) create mode 100644 gpsbabel/reference/track/kona2013.tcx create mode 100644 gpsbabel/reference/track/kona2013~tcx.csv diff --git a/gpsbabel/gtrnctr.cc b/gpsbabel/gtrnctr.cc index ff9e09fd0..8684dc274 100644 --- a/gpsbabel/gtrnctr.cc +++ b/gpsbabel/gtrnctr.cc @@ -121,6 +121,11 @@ static xg_tag_mapping gtc_map[] = { { gtc_trk_hr, cb_cdata, "/Activities/Activity/Lap/Track/Trackpoint/HeartRateBpm" }, { gtc_trk_cad, cb_cdata, "/Activities/Activity/Lap/Track/Trackpoint/Cadence" }, { gtc_trk_pwr, cb_cdata, "/Activities/Activity/Lap/Track/Trackpoint/Extensions/ns3:TPX/ns3:Watts" }, + // Sample from Marcelo Kittlein 5/2014 declares a default namespace with the start tag of the TPX element, + // and thus doesn't use prefixes. + // Furthermore, garmin doesnt seem to publish the relevant schema http://www.garmin.com/xmlschemas/ActivityExtension/v2, + // although v1 is available. + { gtc_trk_pwr, cb_cdata, "/Activities/Activity/Lap/Track/Trackpoint/Extensions/TPX/Watts" }, // It looks like Speed and Watts should be siblings, but Garmin can't get // their namespace act very consistent. This works for a sample provided // by Laurent Desmons in 5/2013. diff --git a/gpsbabel/reference/track/kona2013.tcx b/gpsbabel/reference/track/kona2013.tcx new file mode 100644 index 000000000..841bf7c98 --- /dev/null +++ b/gpsbabel/reference/track/kona2013.tcx @@ -0,0 +1,164 @@ + + + + + 2013-10-12T18:17:26.000Z + + 18930.35 + 180219.88 + 18.163000106811523 + 2658 + + 150 + + + 179 + + Active + 92 + Manual + + + + + 19.640107546001673 + -155.99701898172498 + + 16.399999618530273 + 2.069999933242798 + + 141 + + 31 + + + 2.069999933242798 + 101 + + + + + + + 19.640125399455428 + -155.9969986975193 + + 16.399999618530273 + 4.139999866485596 + + 141 + + 47 + + + 2.069999933242798 + 101 + + + + + + + 19.640144929289818 + -155.99697078578174 + + 16.399999618530273 + 7.650000095367432 + + 141 + + 58 + + + 3.505000114440918 + 113 + + + + + + + 19.64016596786678 + -155.99694203585386 + + 16.399999618530273 + 11.449999809265137 + + 140 + + 41 + + + 3.809999942779541 + 0 + + + + + + + 19.6401924546808 + -155.99690255708992 + + 16.399999618530273 + 15.670000076293945 + + 140 + + 57 + + + 4.2129998207092285 + 137 + + + + + + + 158 + + + 9.520000457763672 + + + 172 + + + 659 + + + + + Garmin Edge 500 + 3840148134 + 1036 + + 3 + 0 + 0 + 0 + + + + + + Garmin Connect API + + + 14 + 4 + 0 + 0 + + + en + 006-D2449-00 + + diff --git a/gpsbabel/reference/track/kona2013~tcx.csv b/gpsbabel/reference/track/kona2013~tcx.csv new file mode 100644 index 000000000..93f9a930a --- /dev/null +++ b/gpsbabel/reference/track/kona2013~tcx.csv @@ -0,0 +1,6 @@ +No,Latitude,Longitude,Altitude,Speed,Heartrate,Cadence,Power,Date,Time +1,19.640108,-155.997019,16.4,2.07,141,31,101.0,2013/10/12,12:17:26 +2,19.640125,-155.996999,16.4,2.07,141,47,101.0,2013/10/12,12:17:27 +3,19.640145,-155.996971,16.4,3.51,141,58,113.0,2013/10/12,12:17:28 +4,19.640166,-155.996942,16.4,3.81,140,41,,2013/10/12,12:17:29 +5,19.640192,-155.996903,16.4,4.21,140,57,137.0,2013/10/12,12:17:30 diff --git a/gpsbabel/testo.d/gtrnctr.test b/gpsbabel/testo.d/gtrnctr.test index b14f94766..22e8d0ea0 100644 --- a/gpsbabel/testo.d/gtrnctr.test +++ b/gpsbabel/testo.d/gtrnctr.test @@ -30,3 +30,8 @@ compare ${REFERENCE}/track/bike~gpx.gpx ${TMPDIR}/bike~gpx.gpx # Whack this for now. Unicsv writes local time. # compare ${REFERENCE}/track/bike~unicsv.csv ${TMPDIR}/bike~unicsv.csv + +# prove we recover power and speed from http://www.garmin.com/xmlschemas/ActivityExtension/v2 +gpsbabel -t -i gtrnctr,sport=Biking -f ${REFERENCE}/track/kona2013.tcx -o unicsv -F ${TMPDIR}/kona2013~tcx.csv +compare ${REFERENCE}/track/kona2013~tcx.csv ${TMPDIR}/kona2013~tcx.csv + -- 2.30.2